#include <AnalyzerTypes.h>

#ifndef PLUGIN_CONSTANTS_H
#define PLUGIN_CONSTANTS_H

const U32 MINIMUN_SAMPLE_RATE_IN_HZ = 16000000;
const U32 OPTIONAL_CHANNEL_BEGIN    = 0;
const U32 OPTIONAL_CHANNEL_END      = 3;
const int CHANNEL_NAME              = 0;
const int CHANNEL_TOOLTIP           = 1;
const int D0                        = 0;
const int D1                        = 1;
const int D2                        = 2;
const int D3                        = 3;
const int D4                        = 4;
const int D5                        = 5;
const int D6                        = 6;
const int D7                        = 7;
const int RS                        = 8;
const int RW                        = 9;
const int RE                        = 10;
const U8 CMD_CLEAR                  = 0X01;
const U8 CMD_RETURN_HOME            = 0X02;
const U8 CMD_SET_MODE               = 0X04;
const U8 CMD_DISPLAY_CONTROL        = 0X08;
const U8 CMD_CURSOR_SHIFT           = 0x10;
const U8 CMD_FUNCTION_SET           = 0x20;
const U8 CMD_SET_CGRAM              = 0X40;
const U8 CMD_SET_DDRAM              = 0x80;
const U64 WRITE_REQUEST_FLAG        = 0X500;
const U64 READ_REQUEST_FLAG         = 0X600;
const U64 READ_DATA_FLAG            = 0x700;
const U64 SEND_COMMAND              = 0x800;
const U64  BUSY_FLAG                = 0X80;
const U8 FRAME_ERROR                = 0X01;
const U8 FRAME_INITIALIZER          = 0X02;
const U64 CMD11BITS                 = 0X400;
const U64 BUSYFLAGCHECK11BITS       = 0X600;
const U64 WRITEDATA11BITS           = 0X500;
const U64 READDATA11BITS            = 0x700;
const U64 CMD_SET_MODE_11BITS       = 0X420; 
const U64 CMD_MASK_11BITS           = 0X700;
const U8  INITIALIZATION_THREASHOLD = 0X05;
const U8 FLAG_FRAME_AS_ERROR        = 0X01;
const U64 CMD_NOOP_11BITS           = 0x400;
const U8 SPACE_CHAR                 = 32;
const U32 PERCENTAGE_BASE_UNIT      = 5;
const int MIN_POS                   = 0;
const int MAX_POS                   = 99;
const int DEFAULT_POS               = 50;
const int MAX_BUFFER_SIZE           = 256;
const int MAX_POSSIBLE_COMBINATIONS = 8;
const int EXPORT_OPTION_CSV         = 0;
const int EXPORT_OPTION_SEQ         = 1;
const int EXPORT_OPTION_DOT         = 2;

enum FrameType
{
    ERROR_REQUEST           = 0,
    WRITE_REQUEST           = 1,
    BUSY_FLAG_REQUEST       = 2,
    READ_DATA_REQUEST       = 3,
    CONTROL_REQUEST         = 4,
    ERROR_REQUEST_8BITS     = 5,
    WRITE_REQUEST_8BITS     = 6,
    BUSY_FLAG_REQUEST_8BITS = 7,
    READ_DATA_REQUEST_8BITS = 8,
    CONTROL_REQUEST_8BITS   = 9
};

#endif